#ifndef LOGGER_H_
#define LOGGER_H_

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <ctime>

using namespace std;

class Logger {

private:
	int nivelLogging;
	string archivoLog;
	string contexto;

	string getTime();
	void logMsj(string msj);

public:
	Logger(string archivoLog, int nivelLogging, string contexto);
	virtual ~Logger();

	static const int NO_DEBUG = 0;
	static const int DEBUG_SUPERFICIAL = 1;
	static const int DEBUG_MEDIO = 2;
	static const int DEBUG_EXHAUSTIVO = 3;

	void logError(string msj);
	void logInfo(string msj);
	void logDebugAltoNivel(string msj);
	void logDebugNivelMedio(string msj);
	void logDebugBajoNivel(string msj);
	void vaciarLog();
};

#endif /* LOGGER_H_ */
